#pragma once

namespace CP2013A1 {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Summary for Simulation
	/// </summary>
	public ref class Simulation : public System::Windows::Forms::Form
	{
	public:
		Simulation(void)
		{
			InitializeComponent();
			//
			//TODO: Add the constructor code here
			//
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~Simulation()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  startButton;
	protected: 

	private: System::Windows::Forms::Button^  stopButton;
	private: System::Windows::Forms::HScrollBar^  speedScroll;

	private: System::Windows::Forms::Label^  slowerLabel;
	private: System::Windows::Forms::Label^  fasterLabel;
	private: System::Windows::Forms::Label^  hLanesLabel;
	private: System::Windows::Forms::Label^  vLanesLabel;
	private: System::Windows::Forms::Button^  setHLanes;
	private: System::Windows::Forms::TextBox^  hLanesValue;
	private: System::Windows::Forms::Button^  setVLanes;
	private: System::Windows::Forms::TextBox^  vLanesValue;
	private: System::Windows::Forms::TextBox^  vEntryValue;
	private: System::Windows::Forms::Button^  setVEntry;




	private: System::Windows::Forms::TextBox^  hEntryValue;
	private: System::Windows::Forms::Button^  setHEntry;
	private: System::Windows::Forms::Label^  vProbLabel;




	private: System::Windows::Forms::Label^  hProbLabel;

	private: System::Windows::Forms::MenuStrip^  menuStrip;

	private: System::Windows::Forms::ToolStripMenuItem^  fileToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem^  openToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem^  saveToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem^  optionsToolStripMenuItem;
	private: System::Windows::Forms::ToolStripMenuItem^  twowayStreetsToolStripMenuItem;



	protected: 

	protected: 


	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->startButton = (gcnew System::Windows::Forms::Button());
			this->stopButton = (gcnew System::Windows::Forms::Button());
			this->speedScroll = (gcnew System::Windows::Forms::HScrollBar());
			this->slowerLabel = (gcnew System::Windows::Forms::Label());
			this->fasterLabel = (gcnew System::Windows::Forms::Label());
			this->hLanesLabel = (gcnew System::Windows::Forms::Label());
			this->vLanesLabel = (gcnew System::Windows::Forms::Label());
			this->setHLanes = (gcnew System::Windows::Forms::Button());
			this->hLanesValue = (gcnew System::Windows::Forms::TextBox());
			this->setVLanes = (gcnew System::Windows::Forms::Button());
			this->vLanesValue = (gcnew System::Windows::Forms::TextBox());
			this->vEntryValue = (gcnew System::Windows::Forms::TextBox());
			this->setVEntry = (gcnew System::Windows::Forms::Button());
			this->hEntryValue = (gcnew System::Windows::Forms::TextBox());
			this->setHEntry = (gcnew System::Windows::Forms::Button());
			this->vProbLabel = (gcnew System::Windows::Forms::Label());
			this->hProbLabel = (gcnew System::Windows::Forms::Label());
			this->menuStrip = (gcnew System::Windows::Forms::MenuStrip());
			this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
			this->openToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
			this->saveToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
			this->optionsToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
			this->twowayStreetsToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
			this->menuStrip->SuspendLayout();
			this->SuspendLayout();
			// 
			// startButton
			// 
			this->startButton->Location = System::Drawing::Point(12, 32);
			this->startButton->Name = L"startButton";
			this->startButton->Size = System::Drawing::Size(75, 23);
			this->startButton->TabIndex = 0;
			this->startButton->Text = L"Start";
			this->startButton->UseVisualStyleBackColor = true;
			// 
			// stopButton
			// 
			this->stopButton->Location = System::Drawing::Point(12, 61);
			this->stopButton->Name = L"stopButton";
			this->stopButton->Size = System::Drawing::Size(75, 23);
			this->stopButton->TabIndex = 1;
			this->stopButton->Text = L"Stop";
			this->stopButton->UseVisualStyleBackColor = true;
			// 
			// speedScroll
			// 
			this->speedScroll->Location = System::Drawing::Point(419, 454);
			this->speedScroll->Name = L"speedScroll";
			this->speedScroll->Size = System::Drawing::Size(170, 17);
			this->speedScroll->TabIndex = 3;
			// 
			// slowerLabel
			// 
			this->slowerLabel->AutoSize = true;
			this->slowerLabel->Location = System::Drawing::Point(377, 454);
			this->slowerLabel->Name = L"slowerLabel";
			this->slowerLabel->Size = System::Drawing::Size(39, 13);
			this->slowerLabel->TabIndex = 4;
			this->slowerLabel->Text = L"Slower";
			// 
			// fasterLabel
			// 
			this->fasterLabel->AutoSize = true;
			this->fasterLabel->Location = System::Drawing::Point(592, 454);
			this->fasterLabel->Name = L"fasterLabel";
			this->fasterLabel->Size = System::Drawing::Size(36, 13);
			this->fasterLabel->TabIndex = 5;
			this->fasterLabel->Text = L"Faster";
			// 
			// hLanesLabel
			// 
			this->hLanesLabel->AutoSize = true;
			this->hLanesLabel->Location = System::Drawing::Point(9, 374);
			this->hLanesLabel->Name = L"hLanesLabel";
			this->hLanesLabel->Size = System::Drawing::Size(181, 13);
			this->hLanesLabel->TabIndex = 6;
			this->hLanesLabel->Text = L"Set Number of Horizontal Lanes (1-3)";
			// 
			// vLanesLabel
			// 
			this->vLanesLabel->AutoSize = true;
			this->vLanesLabel->Location = System::Drawing::Point(9, 428);
			this->vLanesLabel->Name = L"vLanesLabel";
			this->vLanesLabel->Size = System::Drawing::Size(169, 13);
			this->vLanesLabel->TabIndex = 7;
			this->vLanesLabel->Text = L"Set Number of Vertical Lanes (1-4)";
			// 
			// setHLanes
			// 
			this->setHLanes->Location = System::Drawing::Point(12, 390);
			this->setHLanes->Name = L"setHLanes";
			this->setHLanes->Size = System::Drawing::Size(75, 23);
			this->setHLanes->TabIndex = 8;
			this->setHLanes->Text = L"Set";
			this->setHLanes->UseVisualStyleBackColor = true;
			// 
			// hLanesValue
			// 
			this->hLanesValue->Location = System::Drawing::Point(141, 392);
			this->hLanesValue->Name = L"hLanesValue";
			this->hLanesValue->Size = System::Drawing::Size(45, 20);
			this->hLanesValue->TabIndex = 9;
			this->hLanesValue->Text = L"1";
			this->hLanesValue->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
			// 
			// setVLanes
			// 
			this->setVLanes->Location = System::Drawing::Point(12, 444);
			this->setVLanes->Name = L"setVLanes";
			this->setVLanes->Size = System::Drawing::Size(75, 23);
			this->setVLanes->TabIndex = 10;
			this->setVLanes->Text = L"Set";
			this->setVLanes->UseVisualStyleBackColor = true;
			// 
			// vLanesValue
			// 
			this->vLanesValue->Location = System::Drawing::Point(141, 447);
			this->vLanesValue->Name = L"vLanesValue";
			this->vLanesValue->Size = System::Drawing::Size(45, 20);
			this->vLanesValue->TabIndex = 11;
			this->vLanesValue->Text = L"1";
			this->vLanesValue->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
			// 
			// vEntryValue
			// 
			this->vEntryValue->Location = System::Drawing::Point(585, 105);
			this->vEntryValue->Name = L"vEntryValue";
			this->vEntryValue->Size = System::Drawing::Size(45, 20);
			this->vEntryValue->TabIndex = 17;
			this->vEntryValue->Text = L"0";
			this->vEntryValue->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
			// 
			// setVEntry
			// 
			this->setVEntry->Location = System::Drawing::Point(456, 102);
			this->setVEntry->Name = L"setVEntry";
			this->setVEntry->Size = System::Drawing::Size(75, 23);
			this->setVEntry->TabIndex = 16;
			this->setVEntry->Text = L"Set";
			this->setVEntry->UseVisualStyleBackColor = true;
			// 
			// hEntryValue
			// 
			this->hEntryValue->Location = System::Drawing::Point(585, 50);
			this->hEntryValue->Name = L"hEntryValue";
			this->hEntryValue->Size = System::Drawing::Size(45, 20);
			this->hEntryValue->TabIndex = 15;
			this->hEntryValue->Text = L"0";
			this->hEntryValue->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
			// 
			// setHEntry
			// 
			this->setHEntry->Location = System::Drawing::Point(456, 48);
			this->setHEntry->Name = L"setHEntry";
			this->setHEntry->Size = System::Drawing::Size(75, 23);
			this->setHEntry->TabIndex = 14;
			this->setHEntry->Text = L"Set";
			this->setHEntry->UseVisualStyleBackColor = true;
			// 
			// vProbLabel
			// 
			this->vProbLabel->AutoSize = true;
			this->vProbLabel->Location = System::Drawing::Point(453, 86);
			this->vProbLabel->Name = L"vProbLabel";
			this->vProbLabel->Size = System::Drawing::Size(163, 13);
			this->vProbLabel->TabIndex = 13;
			this->vProbLabel->Text = L"Set Vertical Entry Probability (0-1)";
			// 
			// hProbLabel
			// 
			this->hProbLabel->AutoSize = true;
			this->hProbLabel->Location = System::Drawing::Point(453, 32);
			this->hProbLabel->Name = L"hProbLabel";
			this->hProbLabel->Size = System::Drawing::Size(175, 13);
			this->hProbLabel->TabIndex = 12;
			this->hProbLabel->Text = L"Set Horizontal Entry Probability (0-1)";
			// 
			// menuStrip
			// 
			this->menuStrip->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(2) {this->fileToolStripMenuItem, 
				this->optionsToolStripMenuItem});
			this->menuStrip->Location = System::Drawing::Point(0, 0);
			this->menuStrip->Name = L"menuStrip";
			this->menuStrip->Size = System::Drawing::Size(640, 24);
			this->menuStrip->TabIndex = 18;
			// 
			// fileToolStripMenuItem
			// 
			this->fileToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(2) {this->openToolStripMenuItem, 
				this->saveToolStripMenuItem});
			this->fileToolStripMenuItem->Name = L"fileToolStripMenuItem";
			this->fileToolStripMenuItem->Size = System::Drawing::Size(37, 20);
			this->fileToolStripMenuItem->Text = L"File";
			// 
			// openToolStripMenuItem
			// 
			this->openToolStripMenuItem->Name = L"openToolStripMenuItem";
			this->openToolStripMenuItem->Size = System::Drawing::Size(103, 22);
			this->openToolStripMenuItem->Text = L"Open";
			// 
			// saveToolStripMenuItem
			// 
			this->saveToolStripMenuItem->Name = L"saveToolStripMenuItem";
			this->saveToolStripMenuItem->Size = System::Drawing::Size(103, 22);
			this->saveToolStripMenuItem->Text = L"Save";
			// 
			// optionsToolStripMenuItem
			// 
			this->optionsToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(1) {this->twowayStreetsToolStripMenuItem});
			this->optionsToolStripMenuItem->Name = L"optionsToolStripMenuItem";
			this->optionsToolStripMenuItem->Size = System::Drawing::Size(61, 20);
			this->optionsToolStripMenuItem->Text = L"Options";
			// 
			// twowayStreetsToolStripMenuItem
			// 
			this->twowayStreetsToolStripMenuItem->Name = L"twowayStreetsToolStripMenuItem";
			this->twowayStreetsToolStripMenuItem->Size = System::Drawing::Size(161, 22);
			this->twowayStreetsToolStripMenuItem->Text = L"Two-way Streets";
			// 
			// Simulation
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(640, 480);
			this->Controls->Add(this->vEntryValue);
			this->Controls->Add(this->setVEntry);
			this->Controls->Add(this->hEntryValue);
			this->Controls->Add(this->setHEntry);
			this->Controls->Add(this->vProbLabel);
			this->Controls->Add(this->hProbLabel);
			this->Controls->Add(this->vLanesValue);
			this->Controls->Add(this->setVLanes);
			this->Controls->Add(this->hLanesValue);
			this->Controls->Add(this->setHLanes);
			this->Controls->Add(this->vLanesLabel);
			this->Controls->Add(this->hLanesLabel);
			this->Controls->Add(this->fasterLabel);
			this->Controls->Add(this->slowerLabel);
			this->Controls->Add(this->speedScroll);
			this->Controls->Add(this->stopButton);
			this->Controls->Add(this->startButton);
			this->Controls->Add(this->menuStrip);
			this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle;
			this->MainMenuStrip = this->menuStrip;
			this->Name = L"Simulation";
			this->Text = L"Simulation";
			this->Load += gcnew System::EventHandler(this, &Simulation::Simulation_Load);
			this->menuStrip->ResumeLayout(false);
			this->menuStrip->PerformLayout();
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: System::Void Simulation_Load(System::Object^  sender, System::EventArgs^  e) {
			 }
};
}
